const express = require('express');
const router = express.Router();
const md5=require('md5')
const User=require('../../models/User')
const jwt=require('jsonwebtoken')

router.post('/login',async (req, res) => {
  try {
    const { username, password } = req.body;
    const encryptedPwd = md5(password); // 加密密码（和注册时保持一致）

    // 查询用户
    const user = await User.findOne({ username, password: encryptedPwd });

    if (user) {
      let token=jwt.sign({
        id:user._id,
        username:user.username
      },'my_secret',{expiresIn:60*60*24*1})//1天过期
      res.json({
        code:'0000',
        msg:'登录成功',
        data:token
      })
    } else {
      // 用户名或密码错误，跳回登录页并提示
      return res.json({
        code:'2002',
        msg:'用户名或密码错误',
        data:null
      })
    }
  } catch (err) {
    res.status(500).send('登录失败：' + err.message);
    res.json({
      code:'2001',
      msg:'数据库读取失败'+err.message,
      data:null
    })
  }
});

//退出登录
router.post('/logout',function(req, res, next) {
  req.session.destroy(()=>{
      res.render('success',{message:'退出成功',url:'/login',msg:'返回登录'})
  })
});
module.exports = router;
